<?php
/*
	本插件：$this->model('model')->方法名();
	其他地方调用：model('jy_yxgoodserpfw/model')->方法名();
*/
namespace jy_yxgoodserpfw;
defined('BY_JYA') or exit('error');
class model extends \plugin{
	function check_status($log=array(),$ismerch=0,$isres=false,$xcode=array()){
		if($log['code_type']){
			$code=$log['code_item']?:pdo_get('jy_yxgoodserpfw_xcode',array('code'=>$log['code'],'uniacid'=>$_SESSION['uniacid']));
			if(!$code['id']){
				$msg=$log['code'].'不属于箱标，不能操作！';
			}
		}else{
			$code=$log['code_item']?:pdo_get('jy_yxgoodserpfw_code',array('code'=>$log['code'],'uniacid'=>$_SESSION['uniacid']));
			if(!$code['id']){
				$msg=$log['code'].'不属于盒标，不能操作！';
			}
		}
		if($msg){
			if($isres){
				return $msg;
			}
			exi($msg,'error');
		}
		if($ismerch){
			if(!$log['type']){
				$log_status=3;
				if($code['log_status']!=1 && $code['log_status']!=2){
					$msg=$log['code'].'不属于【已出库/已入库】状态，不能操作！';
				}
			}elseif($log['type']==1){
				$log_status=4;
				if($code['log_status']!=3){
					$msg=$log['code'].'不属于【经销商入库】状态，不能操作！';
				}
			}elseif($log['type']==2){
				$log_status=5;
				if($code['log_status']!=3 && $code['log_status']!=4){
					$msg=$log['code'].'不属于【经销商入库/已销售】状态，不能操作！';
				}
			}elseif($log['type']==3){
				$log_status=6;
				if($code['log_status']!=3 && $code['log_status']!=4){
					$msg=$log['code'].'不属于【经销商入库/已销售】状态，不能操作！';
				}
			}
		}else{
			if(!$log['type']){
				$log_status=1;
				if($code['log_status']){
					$msg=$log['code'].'不属于【未入库】状态，不能操作！';
					if(!$log['code_type'] && $code['xiang_id']){
						if($xcode['id']){
							$getxcode=$code['xiang_id']==$xcode['id']?$xcode:pdo_get('jy_yxgoodserpfw_xcode',array('uniacid'=>$_SESSION['uniacid'],'id'=>$code['xiang_id']));
							if(!$getxcode['log_status']){
								pdo_update('jy_yxgoodserpfw_code',array('log_status'=>0,'xiang_id'=>0),array('id'=>$code['id'],'uniacid'=>$_SESSION['uniacid']));
								$code['xiang_id']=0;
								$msg='';
							}
						}
						if($code['xiang_id']){
							$code['xsn']=$getxcode['sn']?:pdo_getcolumn('jy_yxgoodserpfw_xcode',array('uniacid'=>$_SESSION['uniacid'],'id'=>$code['xiang_id']),'sn');
							$code['xsn']=sprintf("%08d", $code['xsn']);
							$msg=$log['code'].'不属于【未入库】状态，已装箱['.$code['xsn'].']！';
						}
					}
				}
			}elseif($log['type']==1){
				$log_status=2;
				if($code['log_status']!=1){
					$msg=$log['code'].'不属于【已入库】状态，不能操作！';
				}
			}elseif($log['type']==2){
				$log_status=5;
				if($code['log_status']!=2 && $code['log_status']!=3 && $code['log_status']!=4){
					$msg=$log['code'].'不属于【已出库/经销商入库/已销售】状态，不能操作！';
				}
			}elseif($log['type']==3){
				$log_status=6;
				if($code['log_status']!=2 && $code['log_status']!=3 && $code['log_status']!=4){
					$msg=$log['code'].'不属于【已出库/经销商入库/已销售】状态，不能操作！';
				}
			}elseif($log['type']==4){
				$log_status=1;
				if($code['log_status']){
					$msg=$log['code'].'不属于【未入库】状态，不能操作！';
				}
			}
		}
		if($isres){
			return $msg;
		}
		if($msg){
			exi($msg,'error');
		}
		if($xcode['id']){
			return $code;
		}else{
			return $log_status;
		}
	}
	function upcodelog_status($log=array(),$ismerch=0){
		$log_status=$this->check_status($log,$ismerch);
		//箱标签
		if($log['code_type']){
			$update=array('log_status'=>$log_status);
			pdo_update('jy_yxgoodserpfw_xcode',$update,array('code'=>$log['code'],'uniacid'=>$_SESSION['uniacid']));
			$xiang_id=pdo_getcolumn('jy_yxgoodserpfw_xcode',array('uniacid'=>$_SESSION['uniacid'],'code'=>$log['code']),'id');
			pdo_update('jy_yxgoodserpfw_code',$update,array('xiang_id'=>$xiang_id,'log_status >'=>0,'uniacid'=>$_SESSION['uniacid']));
		}else{
			$update=array('log_status'=>$log_status);
			pdo_update('jy_yxgoodserpfw_code',$update,array('code'=>$log['code'],'uniacid'=>$_SESSION['uniacid']));
		}
		return '';
	}
}
?>